import { message } from 'ant-design-vue'
// 记录当前时间戳
let timeFn = new Date().getTime()
const click = {
  bind (el, binding) {
    const { value: { func, time = 600 }, value } = binding
    el.onclick = (e) => {
      if (!value) {
        message.error('未传入Value数据！')
        return
      }
      if (typeof time !== 'number') {
        message.error('传入等待时间错误')
        return
      }
      // 比较两次点击间隔
      if (new Date().getTime() - timeFn > time) {
        // 重新赋值时间
        timeFn = new Date().getTime()
        // 满足条件，执行函数
        let args = []
        for (const key in value) {
          if (value.hasOwnProperty(key)) {
            if (key === 'func' || key === 'time') continue // 跳过函数和时间，把后面数据传输给回调函数
            args.push(value[key])
          }
        }
        func(...args)
      }
    }
  }
}
export default click
